The present invention relates to data processing by digital computer, and more particularly, to navigating user interface (UI) elements of a software application using a keyboard.
Users interact with a software application using UI elements presented by the software application. Some UI elements have fields that can be used by the user to provide input using a keyboard. Some UI elements have associated commands for the software application that are executed when the user selects the UI element. Buttons and menus are examples of UI elements that have associated commands.
Many users of a software application require the ability to interact with the UI elements presented by the software application efficiently using a keyboard. Software applications provide navigation keys and activation keys to allow users to interact with the UI elements using the keyboard. The user presses the navigation keys to shift input focus between or among the UI elements of the software application. Shifting input focus to a UI element that has associated commands does not result in the execution of the associated commands. Typically the user must take some further action, e.g., press the ENTER key, to execute the associated commands for a UI element after the UI element has input focus. Activation keys can be associated with a UI element that has associated commands. Pressing the activation key for a UI element results in the execution of the associated commands.
Tab chain navigation is one example of using navigation keys to navigate the UI elements of a software application. In tab chain navigation, UI elements for the software application are in effect grouped into a list, which can be circular. The elements in any particular list are typically those available on one display screen. Pressing the TAB key changes the input focus from one UI element to the next UI element in the list. In some environments, pressing shift-TAB changes the input focus to a previous UI element in the list.
Tab chain navigation can be slow when navigating from a currently selected UI element to a desired UI element. The user must press the TAB key to navigate through all the intermediate UI elements between the UI element currently having input focus and the desired UI element in order to access the desired UI element.
Hot keys are one example of activation keys. A hot key can be a single keyboard key, or a combination of keyboard keys, that is associated with a UI element for the software application. Pressing the hot key results in the execution of the command associated with the hot key. An example of the use of a hot key is the use of the key combination CTRL-P to execute the print command in a software application.
Hot keys can require a significant effort to maintain when applications are localized. For example, the hot key CTRL-P may correspond to the English word “print” but it does not correspond to the German word “drucken” or the French word “imprimer.” It is generally desired that all UI elements appearing on a screen be assigned unique hot keys. In order to do so and localize the application, a set of localized hot keys must be generated for each screen of the application. In addition, it may be desired that some hot keys be unique over all screens of the application.